home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 November / Chip 11-96.iso / workshop / howto / dosemu < prev    next >
Text File  |  1996-05-25  |  26KB  |  755 lines

  1.   The dosemu HOWTO
  2.   edited by Mike Deisher, deisher@dspsun.eas.asu.edu
  3.   v0.52, 13 June 1994
  4.  
  5.   This is the `Frequently Asked Questions' (FAQ) / HOWTO document for
  6.   dosemu.  The most up-to-date version of the dosemu-HOWTO may be found
  7.   in dspsun.eas.asu.edu:/pub/dosemu.
  8.  
  9.   1.  The preliminaries
  10.  
  11.   1.1.  What is dosemu, anyway?
  12.  
  13.   To quote the manual, "dosemu is a user-level program which uses
  14.   certain special features of the Linux kernel and the 80386 processor
  15.   to run MS-DOS in what we in the biz call a `DOS box.'  The DOS box, a
  16.   combination of hardware and software trickery, has these capabilities:
  17.  
  18.   o the ability to virtualize all input/output and processor control
  19.   instructions
  20.  
  21.   o the ability to support the word size and addressing modes of the
  22.   iAPX86 processor family's "real mode," while still running within the
  23.   full protected mode environment
  24.  
  25.   o the ability to trap all DOS and BIOS system calls and emulate such
  26.   calls as are necessary for proper operation and good performance
  27.  
  28.   o the ability to simulate a hardware environment over which DOS
  29.   programs are accustomed to having control.
  30.  
  31.   o the ability to provide MS-DOS services through native Linux
  32.   services; for example, dosemu can provide a virtual hard disk drive
  33.   which is actually a Linux directory hierarchy."
  34.  
  35.  
  36.   1.2.  What's the newest version of dosemu and where can I get it?
  37.  
  38.   The newest version of dosemu is dosemu0.52 and can be ftp'ed from the
  39.   following sites:
  40.  
  41.        dspsun.eas.asu.edu:/pub/dosemu/
  42.        tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/
  43.  
  44.  
  45.  
  46.  
  47.   1.3.  Where can I follow the development?
  48.  
  49.   If you want to follow the development of dosemu, you should consider
  50.   subscribing to the MSDOS channel on Linux-activists.  To subscribe,
  51.   send mail to linux-activists-request@niksula.hut.fi.  Your mail HEADER
  52.   or FIRST LINE must contain the line:
  53.  
  54.                           X-Mn-Admin: join MSDOS
  55.  
  56.  
  57.   To post to the list, send mail to linux-activists@niksula.hut.fi.
  58.   Your mail HEADER or FIRST LINE must contain the line:
  59.  
  60.                           X-Mn-Key: MSDOS
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.   1.4.  What documentation is available for dosemu?
  68.  
  69.   The dosemu manual (dosemu.texinfo) written by Robert Sanders has not
  70.   been updated in some time but is still a good source of information.
  71.   It is distributed with dosemu.
  72.  
  73.   The "dosemu Novice's Altering Guide" or DANG is a road map to the
  74.   inner workings of dosemu.  It is designed for the adventurous, those
  75.   who wish to modify the source code themselves.  The DANG is maintained
  76.   by Alistair MacDonald (am20@unix.york.ac.uk) and is posted once in a
  77.   while to the MSDOS channel of Linux Activists.
  78.  
  79.   The EMU success list (EMUsuccess.txt) is a list of all programs that
  80.   have been reported to work with dosemu.  It is posted once in a while
  81.   to the MSDOS channel of Linux Activists.  The most recent version can
  82.   be found on dspsun.eas.asu.edu:/pub/dosemu.
  83.  
  84.   And then, of course, there is the dosemu FAQ/HOWTO.  But you already
  85.   know about that, don't you.  It is also posted once in a while to the
  86.   MSDOS channel of Linux Activists.  The most recent version can be
  87.   found on dspsun.eas.asu.edu:/pub/dosemu.
  88.  
  89.  
  90.   2.  Compiling and installing dosemu
  91.  
  92.   2.1.  Where are the installation instructions?
  93.  
  94.   The installation instructions are in the file, "QuickStart", included
  95.   in the distribution.
  96.  
  97.  
  98.   2.2.  What does emu.c:349: parse error before `outfuntype' mean?
  99.  
  100.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (12/1/93) that
  101.  
  102.   A fix that works is:  Change the 'outfuntype c' parm in line 349 to
  103.   'int (*c())(int)', and try again.
  104.  
  105.   [Note: outfuntype is defined in termcap.h.  You may have a bad or
  106.   incomplete termcap.h (termcap.h is not part of dosemu).]
  107.  
  108.  
  109.   2.3.  What does scan.o: Undefined symbol _yywrap mean?
  110.  
  111.   Alan David Modra (alan@spri.levels.unisa.edu.au) reported (2/16/94)
  112.   that
  113.  
  114.   Flex-2.4.6 generates code that requires linking in libfl.a You need to
  115.   add -lfl to the linker command line:
  116.  
  117.     gcc -o par scan.o parse.o -lfl
  118.  
  119.  
  120.   [Note:  edit parse/Makefile to incorporate this change]
  121.  
  122.  
  123.   3.  Hard disk setup
  124.  
  125.   3.1.  How do I use my hard disk with dosemu?
  126.  
  127.   First, mount your dos hard disk partition as a Linux subdirectory.
  128.   For example, you could create a directory in Linux such as /dos (mkdir
  129.   -m 755 /dos) and add a line like
  130.  
  131.      /dev/hda1       /dos     msdos   umask=022
  132.  
  133.   to your /etc/fstab.  (In this example, the hard disk is mounted read-
  134.   only.  You may want to mount it read/write by replacing "022" with
  135.   "000" and using the -m 777 option with mkdir).  Now mount /dos.  Now
  136.   you can add a line like
  137.  
  138.     lredir d: linux\fs/dos
  139.  
  140.  
  141.   to the AUTOEXEC.BAT file in your hdimage (see the comments on LREDIR
  142.   below).  On a multi-user system you may want to use
  143.  
  144.     lredir d: linux\fs\${home}
  145.  
  146.  
  147.   where "home" is the name of an environmental variable that contains
  148.   the location of the dos directory (/dos in this example).
  149.  
  150.  
  151.   Tim Bird (Tim_R_Bird@Novell.COM) states that LREDIR users should
  152.  
  153.   be careful when they use LREDIR in the autoexec, because COMMAND.COM
  154.   will continue parsing the autoexec.bat from the redirected drive as
  155.   the same file offset where it left off in the autoexec.bat on the
  156.   physical drive.  For this reason, it is safest to have the
  157.   autoexec.bat on the redirected drive and the physical drive
  158.   (diskimage) be the same.
  159.  
  160.  
  161.   Robert D. Warren (rw11258@xx.acs.appstate.edu) reported (4/28/94) that
  162.  
  163.   I boot off a small hdimage file (less than 1 MB - and twice as large
  164.   as needs be at that), and the next to last line in my config.sys file
  165.   on the hdimage boot image is:
  166.  
  167.  
  168.           install=c:\lredir.exe LINUX\FS\home/dos
  169.  
  170.  
  171.   This will execute lredir just before the command interpreter runs. And
  172.   I have successfully run it with both command.com and 4DOS.  This elim-
  173.   inates the offset problem using lredir in autoexec.bat.
  174.  
  175.  
  176.   3.2.  Can I use my stacked/double-spaced/super-stored disk?
  177.  
  178.   At this time, compressed drives cannot be accessed via the redirector
  179.   (lredir or emufs).  However, many people have had success by simply
  180.   uncommenting the
  181.  
  182.      disk { wholedisk "/dev/hda" }        # 1st partition on 1st disk
  183.  
  184.  
  185.   line in their dosemu config file.  Others have had success using
  186.  
  187.      disk { partition "/dev/hda1" 1 }
  188.  
  189.  
  190.   and running the mkpartition utility (included in the dosemu distribu-
  191.   tion).
  192.  
  193.   Holger Schemel (q99492@pbhrzx.uni-paderborn.de) reported (2/10/94)
  194.   that
  195.  
  196.   Works even fine under DOSEMU with MS-DOS 6.0. If you have problems,
  197.   then you have to edit the file 'DBLSPACE.INI' manually and change the
  198.   disk letter to the letter your drive gets under DOSEMU.
  199.   Darren J Moffat (moffatd@dcs.gla.ac.uk) also reported (3/27/94)
  200.  
  201.   "...use 6.2 if you can get it!!  Just make sure you have a lilo boot
  202.   disk on hand since dos 6{.2} will change the MBR of the boot HD."
  203.  
  204.  
  205.   3.3.  I get an error message about my config.sys file but it looks
  206.   fine.
  207.  
  208.   Corey Sweeney (corey@amiganet.xnet.com) reported (12/8/93) that
  209.  
  210.   Sometimes when loading config.sys you will get a error message saying
  211.   something like "error in line 6 of config.sys".  The problem will go
  212.   away if you add several carriage returns at the end of your
  213.   config.sys.
  214.  
  215.  
  216.   4.  Serial ports and mice
  217.  
  218.   4.1.  Where are the (microsoft compatible) mouse drivers?
  219.  
  220.   Tom Kimball (tk@pssparc2.oc.com) reported (11/24/93) that
  221.  
  222.   Several people said to use a different mouse driver and suggested
  223.   some.  I found a couple that seem to work fine.
  224.  
  225.      oak.oakland.edu:/pub/msdos/mouse/mouse701.zip   (mscmouse)
  226.      oak.oakland.edu:/pub/msdos/mouse/gmous102.zip   (gmouse)
  227.  
  228.  
  229.  
  230.  
  231.   4.2.  Why doesn't the mouse driver work?
  232.  
  233.   Scott D. Heavner (sdh@fishmonger.nouucp) reported (11/27/93) that
  234.  
  235.   If you start the mouse driver and it just hangs (it might actually
  236.   take 30-60s), but if you are waiting longer than a minute for the
  237.   mouse driver to start, remove any "timer" lines in your config file.
  238.  
  239.  
  240.   4.3.  Why does dosemu clobber COM4?
  241.  
  242.   Rob Janssen (rob@pe1chl.ampr.org) reported (3/24/94) that
  243.  
  244.   According to jmorriso@bogomips.ee.ubc.ca, "dosemu still clobbers COM4
  245.   (0x2e8, IRQ 5). 0x2e8 isn't in ports{} in config.  I have to run
  246.   setserial /dev/cua3 irq 5 on it after dosemu exits."
  247.  
  248.   This is caused by your VGA BIOS.  I have found that by enabling the IO
  249.   port trace and seeing where it was clobbered.
  250.  
  251.   Disable the "allowvideoportaccess on" line in config and it will work
  252.   fine.  When you then have problems with the video, try to enable more
  253.   selective ranges of IO addresses (e.g., 40-43).
  254.  
  255.  
  256.   4.4.  How do I use dosemu over the serial ports?
  257.  
  258.   Corey Sweeney (corey@amiganet.xnet.com) reported (12/8/93) that
  259.  
  260.   If you plan to be using dosemu over a serial line, telnet session, or
  261.   just don't want to use raw console mode, then you will probably want
  262.   to get to know the termcap file.  For those who don't know, the
  263.   termcap file is usually located in the /etc directory.  It contains
  264.   the information on what sequences of characters to send to your
  265.   terminal, and what sequences of characters from your terminal
  266.   represent what keystrokes.  If when you hit F5, and it does not work,
  267.   it will usually be the fault of a incorrect termcap entry.  (To learn
  268.   more about termcaps look up the termcap man page.)
  269.  
  270.   Now the information in the termcap relates to entries in the dosemu
  271.   code.  So after you put k5=\E[[E in your termcap, whenever your
  272.   terminal sends \E[[E, dosemu translates that and says "he hit the k5
  273.   key!"  Then it is up to dosemu to figure out what the proper scancode
  274.   for the k5 key is, and push that into the buffer in some magical way.
  275.   To determine the scancode, it looks up in a little table in termio.c.
  276.   In termio.c under the line which (currently) says
  277.  
  278.      #define FUNKEYS 20
  279.  
  280.  
  281.   There exist several lines following the form
  282.  
  283.      {NULL, "termcap code", scancode} /* name of key */
  284.  
  285.  
  286.   so when it says
  287.  
  288.      {NULL, "k5", 0x3f00} /* F5 */
  289.  
  290.  
  291.   it's saying that 0x3f00 is the scancode for F5, and that when the per-
  292.   son activates the k5 sequence (defined in the termcap) to stuff the F5
  293.   scancode into the buffer.
  294.  
  295.   Now that's all fine and dandy for analyzing how dosemu does this,  but
  296.   you probably want to be able to do something with this new
  297.   information.  Well you can add functionality for the F11 and F12 keys
  298.   (and any other keys that you can find the scancode for).
  299.  
  300.   All you have to do is add a line to the termio.c table that says:
  301.  
  302.      {NULL, "ka", 0x8500} /* F11 */
  303.  
  304.  
  305.   Then to actually get it to read the line you just put in, add one to
  306.   the FUNKEYS number.
  307.  
  308.      #define FUNKEYS = 21
  309.  
  310.  
  311.   Then add a "ka" entry to your termcap.  After that, every time you hit
  312.   the sequence stored in your termcap for ka, your dos program recog-
  313.   nizes an "F11."
  314.  
  315.   Warning:  Make sure that ka is not in use in your termcap.  If it is
  316.   you are headed for trouble.
  317.  
  318.   Note:  The scancode for F12 is 0x8600.
  319.  
  320.  
  321.   4.5.  How can I switch between dosemu and a shell over the serial
  322.   line?
  323.  
  324.   John Taylor (taylor@pollux.cs.uga.edu) reported (5/25/94) that
  325.  
  326.   I am running Linux 1.1.13 and want to point out a great feature that
  327.   should be protected and not taken out (IMHO). With the 52 version, I
  328.   can run the program, "screen."  From screen, i can invoke dos -D-a.
  329.   What is really great (IMHO) is the screen commands (the CTRL-A cmds)
  330.   still work. This means I can do a CTRL-A C and add another unix shell,
  331.   and switch between the two (DOS / UNIX).  This allows me to use dosemu
  332.   over the serial line really well, because switching is made easy.
  333.  
  334.  
  335.   5.  Dosemu with multiple users
  336.  
  337.   5.1.  Can I use dosemu on a multi-user system?
  338.  
  339.   Corey Sweeney (corey@amiganet.xnet.com) reported (12/8/93) that
  340.  
  341.   If you are running dosemu on a system in which more then one person
  342.   may want to run dosemu, then you may want to change the directory of
  343.   your hard drive image.  Currently in the /etc/dosemu.conf file there
  344.   exists the line saying that the hard drive image is "hdimage".  If you
  345.   change this to /var/lib/dosemu/hdimage then people do not have to
  346.   worry about what directory they are in when they run dosemu, and
  347.   hdimage does not have to be moved each time you upgrade to the next
  348.   patch level.
  349.  
  350.   If you do do this for multi-user dosemu, then you will want to make
  351.   the hdimage in /var/lib/dosemu read-only for everyone but the dosemu
  352.   administrator.
  353.  
  354.   Note that you can use the new emufs.sys thing to mount a "public"
  355.   directory and/or a "private" directory (a sub-directory in each
  356.   person's home directory).
  357.  
  358.  
  359.   [Note: Users may also create a personal configuration file named
  360.   ~/.dosrc (same format as /etc/dosemu.conf) to run their own copy of
  361.   dos.]
  362.  
  363.  
  364.   5.2.  How do I get Netware access from dosemu?
  365.  
  366.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (6/13/94) that
  367.  
  368.   Dosemu now supports  pdipx  (an IPX over pktdrvr)  and  pdether  (uses
  369.   Novell's  MLID spec)  to  access  Novell LAN's via the built in packet
  370.   driver.   The  packet  driver sits at interrupt 0x60, and abids by the
  371.   normal paket driver rules.  That said, beware of trying any DOS TCP/IP
  372.   just yet. To use Netware, simply:
  373.  
  374.  
  375.      1) Compile support for your NIC into the kernel.
  376.      2) Boot dosemu.
  377.      3) Run ./commands/pdipx.
  378.      4) Run netx or whatever you use.
  379.  
  380.  
  381.   If you  need  special  access  to  your  NIC,  read  on.   By  default
  382.   dosemu  will  not  get interrupts from the kernel. That said, if you'd
  383.   like to give your NIC to dosemu for it to control, maybe for access to
  384.   Netware  on  the  network  through  a  NETX client, I do have a driver
  385.   (Silly Interrupt Generator) to put in the  kernel  that  any  program,
  386.   like dosemu can use to get at the interrupt for your NIC.  I use it in
  387.   DOSEMU to access a Novell Lite network in the  past  until  the packet
  388.   driver existed.
  389.  
  390.   Any interested parties should E-mail me (jmaclean@fox.nstn.ns.ca) and
  391.   I'll pass along some directions.
  392.  
  393.  
  394.  
  395.  
  396.  
  397.   6.  dosemu and X-windows
  398.  
  399.   6.1.  Can I run dosemu in console mode while running X?
  400.  
  401.   Ronald Schalk (R.Schalk@uci.kun.nl) reported (1/17/94) that
  402.  
  403.   Yes, no problem.  Just remember to use ctrl-alt-<Fn> to go to a
  404.   Virtual Console (VC), and you can run any Linux application (dosemu is
  405.   a linux-application).  I've got almost always WP5.1 in a dos session.
  406.  
  407.   [Note:  Use ctrl-alt-F7 to switch back to X from dosemu.]
  408.  
  409.   [Note: Some people have reported problems when dosemu is started
  410.   before X]
  411.  
  412.  
  413.   6.2.  Is it possible to run dosemu in an xterm?
  414.  
  415.   Evmorfopoulos Dimitris (devmorfo@mtu.edu) reported (12/10/93) that
  416.  
  417.   It is possible to run dosemu under an xterm, but without any graphics,
  418.   and with no more than 128 characters.
  419.  
  420.   H. Peter Anvin (hpa@hook.eecs.nwu.edu) adds (2/6/94)
  421.  
  422.   no more than 128 characters... unless you use a special font.  Someone
  423.   has an IBM PC (CP 437) X font for use with ANSI-graphics on BBS's, as
  424.   well as a patch for Xterm that *might* include character translation
  425.   (for letters like \305, \304, \326 for example.
  426.  
  427.  
  428.   7.  Video and sound
  429.  
  430.   7.1.  Exiting from dosemu gives me a screen full of garbage.
  431.  
  432.   Keith A Grider (kgrider@magnus.acs.ohio-state.edu) reported (12/5/93)
  433.   that
  434.  
  435.   I have seen many postings concerning this with exit from X as well as
  436.   exiting from a graphic dos screen.  it seems to be prevalent among ATI
  437.   graphic card users as well as a few others.  The problem is that the
  438.   font information for the vga text screen is not being saved.  The only
  439.   way I have been able to fix it is to download the vgalib-090.tar.gz
  440.   file from sunsite.unc.edu.  It is (I believe) in the pub/Linux/GCC
  441.   directory.  You get a lot of stuff that is not directly used to solve
  442.   this problem, but in the fonts directory that is created when you
  443.   untar the file, there are 2 files of interest, runx and restorefont.
  444.   Read the README file in this directory.  Copy runx and restorefont to
  445.   a directory in your path.  when runx is used, for example, it saves
  446.   the font information in tmp/fontdata.  I use a file called fix which
  447.   consists of the line:
  448.  
  449.      restorefont -r /tmp/fontdata
  450.  
  451.  
  452.   so that it is easy to 'fix' a vt when I go there from X (i.e. ctrl-
  453.   alt-f2).  This should also work for dosemu.  I think the XFree86 peo-
  454.   ple know about the problem and are working on a solution as this is a
  455.   bit of a kluge.
  456.  
  457.  
  458.   7.2.  How do I get dosemu to work with my Trident/Actix/other video
  459.   card?
  460.  
  461.   [The screen flickers violently, displays the video BIOS startup
  462.   message, and hangs.]
  463.   Andrew Tridgell (tridge@nimbus.anu.edu.au) reported (1/29/94) that
  464.  
  465.   I found with early versions it would work if I used:
  466.  
  467.      ports { 0x42 }
  468.  
  469.  
  470.   but that sometimes my machine would crash when it was cycling the
  471.   video bios in dosemu. This is because you're allowing the VGA bios to
  472.   re-program your clock, which severely stuffs with Linux.
  473.  
  474.   This prompted me to write the readonly and masking patches for dosemu,
  475.   which I believe are still in the latest version. I now use:
  476.  
  477.      ports { readonly 0x42 }
  478.  
  479.  
  480.   and it boots dosemu more slowly, but more reliably.
  481.  
  482.   Tim Shnaider (tims@kcbbs.gen.nz) also reported (1/18/94) that
  483.  
  484.   One way of fixing this is to use the GETROM program to dump your video
  485.   bios to a file and edit the config file in the /etc/dosemu directory
  486.   There will be a few video lines.  Here is my video line
  487.  
  488.      video { vga console graphics chipset trident memsize 1024 vbios_file
  489.      /etc/dosemu/vbios }
  490.  
  491.  
  492.   where vbios is the file generated by typing
  493.  
  494.      getrom > vbios
  495.  
  496.  
  497.  
  498.  
  499.   7.3.  Why doesn't my soundcard software work with dosemu?
  500.  
  501.   Hannu Savolainen (hsavolai@cs.Helsinki.FI) reported (3/21/94) that
  502.  
  503.   The DOSEMU and any DOS program with it run under control of a
  504.   protected mode operating system. This means that the memory is not
  505.   mapped as the program expects. If it somehow manages to start DMA
  506.   based recording with SB, the recorded sound doesn't find it's way to
  507.   the application. It just destroys some data in the memory.
  508.  
  509.  
  510.   8.  Other Hardware
  511.  
  512.   8.1.  How do I get my xxxxx device working under dosemu?
  513.  
  514.   Corey Sweeney (corey@bbs.xnet.com) reported (5/30/94) that
  515.  
  516.   Here is a log of my adventures trying to get devices working under
  517.   dosemu.  So far I've gotten my voice mail system working and my
  518.   scanner half working.  Here's how:
  519.  
  520.   1. Look in your manual and find if your card uses any ports.  If your
  521.   manual gives you some, put them in your config file at the "ports"
  522.   line.  Remember that sometimes you need to have several ports in a
  523.   row, and the first one might be the only one documented.
  524.  
  525.   2. Try it out. If it doesn't work, or you don't have a manual (or your
  526.   manual is as crappy as my AT&T manual:) then run dosemu with "dos -D+i
  527.   2> /tmp/io.debug".  Run your device software, then exit dosemu.  Look
  528.   through /tmp/io.debug and find any port numbers it might give you.
  529.   Try adding those to the port lines and try running dosemu again.
  530.  
  531.   3. If you still fail then you may need interrupts.  Find out what
  532.   interrupt the card uses and get the SIG.tgz (silly interrupt
  533.   generator) from somewhere on tsx-11.mit.edu.  Install it as specified
  534.   in the instructions.
  535.  
  536.   and that's about it...
  537.  
  538.   Question: What if my card uses DMA?  Answer: Your screwed.
  539.  
  540.  
  541.   9.  Problems and fixes
  542.  
  543.   9.1.  Why does dosemu lock up after one keystroke?
  544.  
  545.   (12/17/93)
  546.  
  547.   You need to turn on the keyboard interrupt in the dosemu config file.
  548.   Add a line to the config file:
  549.  
  550.  
  551.      keybint on
  552.  
  553.  
  554.  
  555.   Shouldn't be a problem in dosemu0.52.
  556.  
  557.  
  558.   9.2.  Why are my keystrokes echoed ttwwiiccee??
  559.  
  560.   Nick Holloway (alfie@dcs.warwick.ac.uk) reported (2/22/94) that
  561.  
  562.   After running dos after playing with some stty settings, I was getting
  563.   doubled key presses.  I can now reveal what the reason is!
  564.  
  565.   It only happens when dos is run on the console with 'istrip' set.
  566.   This is (I think) because the raw scancodes are mutilated by the
  567.   'istrip', so that key release events look like key press events.
  568.  
  569.   So, the input processing needs to be turned off when using the scan
  570.   codes on a console (it wouldn't be a good idea to do it for tty
  571.   lines).
  572.  
  573.  
  574.   9.3.  Why does dosemu give "divide overflow" errors after running for
  575.   more than 24-hours?
  576.  
  577.   (1/17/94)
  578.  
  579.   This is a known bug.  It will (hopefully) be fixed in an upcoming
  580.   release.  For now, you can simply exit dosemu and start it again.
  581.  
  582.  
  583.   9.4.  Where did the debugging output go?
  584.  
  585.   As of dosemu0.49pl4, stderr is automatically redirected to /dev/null.
  586.   Try "dos -D+a 2>debug" to turn on debugging information and redirect
  587.   it to the file "debug".
  588.  
  589.  
  590.   9.5.  Why are characters < 128 highlighted and blinking?
  591.  
  592.   Chris Kuehnke (Christian.Kuehnke@Informatik.Uni-Oldenburg.DE) reported
  593.   (3/21/94) that
  594.  
  595.   I think I've found a bug in dosemu0.50pl1; with a MDA card displayed
  596.   characters > 128 automagically appeared as highlighted and blinking.
  597.  
  598.   This patch fixed the problem for me [but on the other hand, maybe I'm
  599.   totally wrong ;-)]:
  600.  
  601.   --- video.c~    Sat Mar 19 00:50:25 1994
  602.   +++ video.c     Sat Mar 19 20:36:10 1994
  603.   @@ -721,7 +721,7 @@
  604.      int x, y, i, tmp;
  605.      unsigned int s;
  606.      static int gfx_flag = 0;
  607.   -  char c;
  608.   +  u_char c;
  609.      us *sm;
  610.  
  611.      if (d.video >= 3)
  612.  
  613.  
  614.  
  615.  
  616.   9.6.  Why will dosemu run in a term but not in the console?
  617.  
  618.   JyiJiin Luo (jjluo@casbah.acns.nwu.edu) reported (4/19/94) that
  619.  
  620.   I experienced exactly the same problem before. I figured out all the
  621.   video shadow in my AMI BIOS must be disabled. Now dosemu runs fine on
  622.   my system.
  623.  
  624.  
  625.   9.7.  How can I speed up dosemu?
  626.  
  627.   Mark Rejhon (mdrejhon@undergrad.math.uwaterloo.ca) reported (4/7/94)
  628.   that
  629.  
  630.   TIP: Speed up your DOS "dir" listings by about 25%-50% or so by typing
  631.   break off at the DOS prompt or including it in autoexec.bat.
  632.  
  633.   TIP: Use the nnansi.com ANSI driver to speed up the "dir" output even
  634.   more at roughly 50%-100% more.  It works properly in non-graphics
  635.   mode, unlike turbo.com.
  636.  
  637.  
  638.   Joel M. Hoffman (joel@rac1.wam.umd.edu) reported (4/23/94) that
  639.  
  640.   Ironically, I've found that it's sometimes faster to run dosemu in an
  641.   Emacs terminal emulator rather than directly to the console.  Emacs's
  642.   output optimization is what makes the difference here.
  643.  
  644.   Put the following in your .emacs:
  645.  
  646.  
  647.           (defun do-dos ()
  648.             (interactive)
  649.             (terminal-emulator "dos" "/usr/local/bin/dos" ()))
  650.  
  651.  
  652.   and then "emacs -f do-dos" will run the dosemu inside the buffer.
  653.   Make sure you emacs window is 25x80, of course.
  654.  
  655.  
  656.   Pete Heist (heistp@rpi.edu) reported (5/13/94) that
  657.  
  658.   If you compile it with the "-funroll-all-loops" option you will get
  659.   MUCH faster screen output.  Some other parts of the emulator will run
  660.   much faster as well.  Realize that the consequence of this is a larger
  661.   executable which eats a little more memory, even though it's demand
  662.   loaded.
  663.  
  664.  
  665.   Georg Wiegand (gw@gwcomp.e.open.de) reported (5/16/94) that
  666.  
  667.   You also can use the keyword HogThreshold in /etc/dosemu.conf.  The
  668.   greater the following number the more calculating-time dosemu gets.
  669.   For example, I use "HogThreshold 60000" on my 386/87-20 laptop.
  670.  
  671.  
  672.   9.8.  My CDROM drive has problems reading some files under dosemu.
  673.  
  674.   Vinod G Kulkarni (vinod@cse.iitb.ernet.in) reported (4/7/94) that
  675.  
  676.   When a CDROM is mounted from linux and used from within DOSEMU (mapped
  677.   drive), there could be some problems. The cdrom driver (iso9660) in
  678.   the kernel tries to find out the type of the file (i.e. binary or
  679.   text).  If it can't find, it tries to guess the type of the file using
  680.   a heuristic. This heuristic fails under some circumstances when a
  681.   (almost) text file is to be treated as binary.  (I do not know if it
  682.   is a bug or feature.)
  683.  
  684.   The result of this is that if you copy such a file from cdrom (from
  685.   linux itself, and not necessarily dosemu), the resulting file will be
  686.   usually bigger than original file. (Blanks get added before ^J,^M.)
  687.   So a program running in dosemu gives error or hangs, which you may
  688.   mistaken as problem of dosemu.
  689.  
  690.   I could verify that this kind of heuristic is not used when the cdrom
  691.   is used from DEC ALPHA system. (I nfs mounted the exported cdrom drive
  692.   and used under dosemu as a drive.)
  693.  
  694.   To correct the behavior, you can force the iso9660 file system not to
  695.   use heuristic at all.  Make the following change and then recompile
  696.   your kernel.
  697.  
  698.  
  699.   File: /usr/src/linux/fs/isofs/file.c
  700.   In Function: static int isofs_file_read ()
  701.     ...
  702.              if (inode->u.isofs_i.i_file_format == ISOFS_FILE_UNKNOWN) {
  703.                   inode->u.isofs_i.i_file_format = ISOFS_FILE_BINARY ;
  704.                   /* ORIGINAL: isofs_determine_filetype(inode);  */
  705.              }
  706.     ...
  707.  
  708.  
  709.  
  710.  
  711.   10.  Contributing to the dosemu project
  712.  
  713.   10.1.  Who is responsible for dosemu?
  714.  
  715.   (3/18/94)
  716.  
  717.   Dosemu is built upon the work of Matthias Lautner and Robert Sanders.
  718.   James B. MacLean (jmaclean@fox.nstn.ns.ca) is responsible for
  719.   organizing the latest releases of dosemu.
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.                          History of dosemu
  728.  
  729.             Version    Date                Person
  730.            -------------------------------------------------
  731.             0.1        September 3, 1992   Matthias Lautner
  732.             0.2        September 13, 1992  Matthias Lautner
  733.             0.3        ???                 Matthias Lautner
  734.             0.4        November 26, 1992   Matthias Lautner
  735.             0.47       January 27, 1993    Robert Sanders
  736.             0.47.7     February 5, 1993    Robert Sanders
  737.             0.48       February 16, 1993   Robert Sanders
  738.             0.48pl1    February 18, 1993   Robert Sanders
  739.             0.49       May 20, 1993        Robert Sanders
  740.             0.49pl2    November 18, 1993   James MacLean
  741.             0.49pl3    November 30, 1993   James MacLean
  742.             0.49pl3.3  December 3, 1993    James MacLean
  743.             0.50       March 4, 1994       James MacLean
  744.             0.50pl1    March 18, 1994      James MacLean
  745.             0.52       June 16, 1994       James MacLean
  746.  
  747.  
  748.  
  749.  
  750.   10.2.  I want to help.  Who should I contact?
  751.  
  752.   The dosemu project is a team effort.  If you wish to contribute, see
  753.   the DPR (DOSEMU Project Registry).  A current copy may be found in
  754.   dspsun.eas.asu.edu:/pub/dosemu.
  755.